<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>

<title>MultiVisitor (randoop 4.1.0 API)</title>

<link rel="stylesheet" type="text/css" href="../javadocstyle.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="MultiVisitor (randoop 4.1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../randoop/Globals.html" title="class in randoop"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../randoop/NormalExecution.html" title="class in randoop"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?randoop/MultiVisitor.html" target="_top">Frames</a></li>
<li><a href="MultiVisitor.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">randoop</div>
<h2 title="Class MultiVisitor" class="title">Class MultiVisitor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>randoop.MultiVisitor</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">MultiVisitor</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a></pre>
<div class="block">An execution visitor that chains a list of visitors in sequence. It can be used if the user wants
 to use more than one visitor to visit a sequence during execution.

 <p>When the visitBefore method is called on this visitor, it calls visitMethod on each of the
 sub-visitors in the order in which the sub-visitors were given when constructing this visitor.

 <p>When the visitAfter method is called on this visitor, it calls visitAfter on each of the
 sub-visitors in turn, also in the order in which they were given when constructing the visitor.
 If one of these calls returns false, this visitor immediately returns false without calling
 visitAfter on the remaining visitors.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../randoop/MultiVisitor.html#visitors">visitors</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../randoop/MultiVisitor.html#MultiVisitor--">MultiVisitor</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../randoop/MultiVisitor.html#MultiVisitor-java.util.List-">MultiVisitor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a>&gt;&nbsp;visitors)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../randoop/MultiVisitor.html#createMultiVisitor-java.util.List-">createMultiVisitor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a>&gt;&nbsp;visitors)</code>
<div class="block">Returns a MultiVisitor if needed, otherwise a simpler visitor.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../randoop/MultiVisitor.html#initialize-randoop.sequence.ExecutableSequence-">initialize</a></span>(<a href="../randoop/sequence/ExecutableSequence.html" title="class in randoop.sequence">ExecutableSequence</a>&nbsp;executableSequence)</code>
<div class="block">Calls the initialize method for each of the visitors, in the order in which the visitors were
 given during construction of this MultiVisitor.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../randoop/MultiVisitor.html#visitAfterSequence-randoop.sequence.ExecutableSequence-">visitAfterSequence</a></span>(<a href="../randoop/sequence/ExecutableSequence.html" title="class in randoop.sequence">ExecutableSequence</a>&nbsp;sequence)</code>
<div class="block">Called after execution of a sequence.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../randoop/MultiVisitor.html#visitAfterStatement-randoop.sequence.ExecutableSequence-int-">visitAfterStatement</a></span>(<a href="../randoop/sequence/ExecutableSequence.html" title="class in randoop.sequence">ExecutableSequence</a>&nbsp;sequence,
                   int&nbsp;i)</code>
<div class="block">Invoked by ExecutableSequence.execute after the i-th statement executes.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../randoop/MultiVisitor.html#visitBeforeStatement-randoop.sequence.ExecutableSequence-int-">visitBeforeStatement</a></span>(<a href="../randoop/sequence/ExecutableSequence.html" title="class in randoop.sequence">ExecutableSequence</a>&nbsp;sequence,
                    int&nbsp;i)</code>
<div class="block">Invoked by ExecutableSequence.execute before the i-th statement executes.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="visitors">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>visitors</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a>&gt; visitors</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="MultiVisitor--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MultiVisitor</h4>
<pre>public&nbsp;MultiVisitor()</pre>
</li>
</ul>
<a name="MultiVisitor-java.util.List-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MultiVisitor</h4>
<pre>public&nbsp;MultiVisitor(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a>&gt;&nbsp;visitors)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="createMultiVisitor-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMultiVisitor</h4>
<pre>public static&nbsp;<a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a>&nbsp;createMultiVisitor(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a>&gt;&nbsp;visitors)</pre>
<div class="block">Returns a MultiVisitor if needed, otherwise a simpler visitor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>visitors</code> - the visitors to compose</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a visitor that has the effect of all the visitors in the argument</dd>
</dl>
</li>
</ul>
<a name="initialize-randoop.sequence.ExecutableSequence-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(<a href="../randoop/sequence/ExecutableSequence.html" title="class in randoop.sequence">ExecutableSequence</a>&nbsp;executableSequence)</pre>
<div class="block">Calls the initialize method for each of the visitors, in the order in which the visitors were
 given during construction of this MultiVisitor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../randoop/ExecutionVisitor.html#initialize-randoop.sequence.ExecutableSequence-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executableSequence</code> - the code sequence to be visited</dd>
</dl>
</li>
</ul>
<a name="visitAfterStatement-randoop.sequence.ExecutableSequence-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitAfterStatement</h4>
<pre>public&nbsp;void&nbsp;visitAfterStatement(<a href="../randoop/sequence/ExecutableSequence.html" title="class in randoop.sequence">ExecutableSequence</a>&nbsp;sequence,
                                int&nbsp;i)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../randoop/ExecutionVisitor.html#visitAfterStatement-randoop.sequence.ExecutableSequence-int-">ExecutionVisitor</a></code></span></div>
<div class="block">Invoked by ExecutableSequence.execute after the i-th statement executes.

 <p>Precondition: statements 0..i have been executed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../randoop/ExecutionVisitor.html#visitAfterStatement-randoop.sequence.ExecutableSequence-int-">visitAfterStatement</a></code>&nbsp;in interface&nbsp;<code><a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sequence</code> - the code sequence to be visited</dd>
<dd><code>i</code> - the position of statement to visit</dd>
</dl>
</li>
</ul>
<a name="visitBeforeStatement-randoop.sequence.ExecutableSequence-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitBeforeStatement</h4>
<pre>public&nbsp;void&nbsp;visitBeforeStatement(<a href="../randoop/sequence/ExecutableSequence.html" title="class in randoop.sequence">ExecutableSequence</a>&nbsp;sequence,
                                 int&nbsp;i)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../randoop/ExecutionVisitor.html#visitBeforeStatement-randoop.sequence.ExecutableSequence-int-">ExecutionVisitor</a></code></span></div>
<div class="block">Invoked by ExecutableSequence.execute before the i-th statement executes.

 <p>Precondition: statements 0..i-1 have been executed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../randoop/ExecutionVisitor.html#visitBeforeStatement-randoop.sequence.ExecutableSequence-int-">visitBeforeStatement</a></code>&nbsp;in interface&nbsp;<code><a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sequence</code> - the code sequence to be visited</dd>
<dd><code>i</code> - the position of statement to visit</dd>
</dl>
</li>
</ul>
<a name="visitAfterSequence-randoop.sequence.ExecutableSequence-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>visitAfterSequence</h4>
<pre>public&nbsp;void&nbsp;visitAfterSequence(<a href="../randoop/sequence/ExecutableSequence.html" title="class in randoop.sequence">ExecutableSequence</a>&nbsp;sequence)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../randoop/ExecutionVisitor.html#visitAfterSequence-randoop.sequence.ExecutableSequence-">ExecutionVisitor</a></code></span></div>
<div class="block">Called after execution of a sequence.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../randoop/ExecutionVisitor.html#visitAfterSequence-randoop.sequence.ExecutableSequence-">visitAfterSequence</a></code>&nbsp;in interface&nbsp;<code><a href="../randoop/ExecutionVisitor.html" title="interface in randoop">ExecutionVisitor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sequence</code> - the visited code sequence</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../randoop/Globals.html" title="class in randoop"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../randoop/NormalExecution.html" title="class in randoop"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?randoop/MultiVisitor.html" target="_top">Frames</a></li>
<li><a href="MultiVisitor.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
